import time

from aip import AipNlp

print('************名字提取测试***********')
print('***********基于百度API测试*********')


def get_chinese_name(text):
    """
    :param text: 中文字符串
    :return: 人名
    """

    """识别人名"""
    # 上一步获取到的ID AK SK
    APP_ID = '24093628'
    API_KEY = 'QAjKGqVGquVntrLoR5vcg6Fj'
    SECRET_KEY = 'HpzUOsnTDLIYxZf5f3LpxaftrPe6KtVo'

    client = AipNlp(APP_ID, API_KEY, SECRET_KEY)

    text = str(text.encode('gbk', 'ignore'), encoding='gbk')  # ignore忽略无法编码的字符,如果不加这个会报错。

    # 设置请求间隔,免费版的QPS限制为2,有能力的可以购买。
    time.sleep(1)

    # 调用词法分析的返回结果
    print(client.lexer(text))

    """ 调用词法分析 """
    for i in client.lexer(text)['items']:
        # 若字符串中有人名就返回人名
        if i['ne'] == 'PER':
            return i['item']

    return ''

def test():
    text = "import time " \
           "print('name :'+'媛媛')"
    print(get_chinese_name(text))

if __name__ == '__main__':
    test()